﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using coliseu.BussinessLayer;
namespace coliseu.Views.Condominio
{
    public partial class FrmCadGaragem : Form
    {
         private GaragemBL gBL;
        private garagem g;
        private ApartamentoBL aBL = new ApartamentoBL();

        private BlocoBL bBL = new BlocoBL();
        private ApartamentoBL apAlugadoBL = new ApartamentoBL();

        private string bloco;

        public FrmCadGaragem(GaragemBL gBL,string bloco)
        {
            InitializeComponent();
            this.gBL = gBL;
            this.bloco = bloco;
            garagemBindingSource.AddNew();
            ((garagem)garagemBindingSource.Current).tipo = "Próprio";
           
        }


        public FrmCadGaragem(garagem g, GaragemBL gBL, string bloco)
        {
            InitializeComponent();
            this.gBL = gBL;
            this.g = g;
            this.bloco = bloco;
            garagemBindingSource.DataSource = g;            
        }

        public FrmCadGaragem()
        {
            InitializeComponent();
        }

        private void FrmCadGaragem_Load(object sender, EventArgs e)
        {
            label1.Text = "Bloco: " + bloco;
            apartamentoBindingSource.DataSource = aBL.selecionar(bloco);
        }

        private void toolStripButton1_Click(object sender, EventArgs e)
        {
            ValidateChildren();
            Validate();

            ((garagem)garagemBindingSource.Current).id_apartamento = ((apartamento)apartamentoBindingSource.Current).id_apartamento;

            garagemBindingSource.EndEdit();

            if (g == null)
                gBL.salvar((garagem)garagemBindingSource.Current, "insert");
            else
                gBL.salvar((garagem)garagemBindingSource.Current, "edit");

            MessageBox.Show("Salvo com sucesso", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Information);
            Close();
        }

        private void toolStripButton3_Click(object sender, EventArgs e)
        {
            Close();
        }

        private void comboBox2_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (comboBox2.Text == "Alugado")
            {
                groupBox1.Enabled = true;
                blocoBindingSource.DataSource = bBL.selecionar();
                apartamentoBindingSource1.DataSource = apAlugadoBL.selecionar(((bloco)blocoBindingSource.Current).id_bloco);
            }
            else
            {
                groupBox1.Enabled = false;
                ((garagem)garagemBindingSource.Current).id_apartamento_alugel = null;
                blocoBindingSource.DataSource = null;
            }

        }

        private void comboBox3_SelectedIndexChanged(object sender, EventArgs e)
        {
            apartamentoBindingSource1.DataSource = apAlugadoBL.selecionar(comboBox3.Text);
        }
    }
}
